package com.hycas.method;

public class Demo08 {
    public static void main(String[] args) {
        System.out.println(f(16));
    }
/*
1！ 1
2！ 2*1
3！ 3*2*1
5！ 5*4*3*2*1
 */
    public static int f(int n){
        if (n==1){              //递归头  递归边界
            return 1;
        }else {
            return n*f(n-1);
        }
    }
}
/*
递归算法：A方法调用A方法！自己调用自己
递归头：什么时候不调用自己。如果没有头将陷入死循环；f(1)就是递归头
递归体：什么时候需要调用自身方法。
小数据可以用，大数据会奔溃。
 */